package com.bridgeintelligent.tag.webserver.dim.mgmt.service.dimfree;

import com.bridgeintelligent.tag.webserver.dim.mgmt.api.DimData;
import com.bridgeintelligent.tag.webserver.dim.mgmt.api.DimPage;

import java.util.Map;

/**
 * 自定标签审批服务层
 */

public interface IDimFreeApprovalService {

    /**
     * 新增自定义标签审批通过
     *
     * @param dimId
     */
    void addPass(String dimId);

    /**
     * 新增自定义标签提交审批
     *
     * @param dimId
     */
    void addSubmit(String dimId);

    /**
     * 新增自定义标签审批驳回
     *
     * @param dimId
     */
    void reject(String dimId, String desc);

    /**
     * 驳回审批
     *
     * @param dimId
     */
    void resubmit(String dimId);

    /**
     * 删除自定义标签审批通过
     *
     * @param dimId
     */
    void delPass(String dimId);

    /**
     * 自定义标签清除数据审批通过
     *
     * @param dimId
     */
    void clePass(String dimId);

    /**
     * 修改自定义标签审批通过
     *
     * @param dimId
     */
    void updatePass(String dimId);

    /**
     * 获取审批列表
     *
     * @param pageNumber
     * @param pageSize
     * @param theme
     * @param dimName
     * @param approveType
     * @param approveState
     * @param createTimeStart
     * @param createTimeEnd
     * @param uptTimeStart
     * @param uptTimeEnd
     */
    DimPage<DimData> findList(Integer pageNumber, Integer pageSize, String theme, String dimName, String approveType, String approveState, String createTimeStart, String createTimeEnd, String uptTimeStart, String uptTimeEnd);

    /**
     * 获取所有的申请类型
     */
    Map findApproveType();

    /**
     * 上传新增通过
     *
     * @param dimId
     */
    void fileAddPass(String dimId);

    /**
     * 上传删除通过
     *
     * @param dimId
     */
    void fileDeletePass(String dimId);
}
